﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Drawing;
using System.Windows.Forms;
using OpenTK;
using OpenTK.Graphics.OpenGL;
using SimpleModeler.Graphics;
using SimpleModeler.GUI;

namespace SimpleModeler
{
    /// <summary>
    /// Stellt eine Implementierung der Modeler-Klasse dar.
    /// </summary>
    public class Modeler : AbstractModeler
    {
        #region Properties
        /// <summary>
        /// Das ModelerWindow, zu welchem dieser Modeler gehört
        /// </summary>
        public ModelerWindow ModelerWindow { get; private set; }
        #endregion // Properties


        #region Constructors
        /// <summary>
        /// Konstruktor für einen neuen Modeler
        /// </summary>
        /// <param name="parent">Das beinhaltende ModelerWindow</param>
        /// <param name="useLighting">Gibt an, ob Lighting verwendet werden soll</param>
        public Modeler(ModelerWindow parent, bool useLighting) : base(useLighting)
        {
            if (parent == null) throw new ArgumentNullException("parent");
            this.ModelerWindow = parent;

            Cube c = new Cube();
            this.SceneObjects.Add(c.ID, c);
        }
        #endregion // Constructors
    }
}
